Combo - sirka roletky pri OwnerDraw

Otázka od: Lebeda David

18. 8. 2004 8:36

Ahoj,

zkousim pouzit combobox se stylem csOwnerDrawFixed. To by bylo OK. Jenze nevim,

jak u tohoto stylu docilit zvetseni sirky roletky, tak, aby roletka byla sirsi
nez je sirka
Comboboxu.

K nastavovani sirky pouzivam toto:
    combo.Perform(CB_SETDROPPEDWIDTH, 80, 0);

Coz funguje pekne, ale jean na stylech bez uzivatelskeho vykreslovani.

Da se tedy dosahnout obojiho?

Diky

David Lebeda


Odpovedá: Ing. Jiri Sokol

19. 8. 2004 8:56

> Od: Lebeda David <david.lebeda@comarr.cz>

> K nastavovani sirky pouzivam toto:
> combo.Perform(CB_SETDROPPEDWIDTH, 80, 0);
>
> Coz funguje pekne, ale jean na stylech bez uzivatelskeho vykreslovani.

Ahoj.
Ja jsem si tusim taky delal OwnerDraw a pouzival jsem ruzne sirky roletky, ale
posilal jsem to na ni jako klasickou zpravu a ne pres Perform... Zkus to poslat
jako klasickou message.
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol@seznam.cz; 972 231 187
D6Prof+SP3; WinXPProf+SP1; FB 1.5.0
programator amater


Odpovedá: Lebeda David

19. 8. 2004 9:35

> > K nastavovani sirky pouzivam toto:
> > combo.Perform(CB_SETDROPPEDWIDTH, 80, 0);
> >
> > Coz funguje pekne, ale jean na stylech bez uzivatelskeho
> > vykreslovani.
>
> Ahoj.
> Ja jsem si tusim taky delal OwnerDraw a pouzival jsem ruzne sirky
> roletky, ale posilal jsem to na ni jako klasickou zpravu a ne pres
> Perform... Zkus to poslat jako klasickou message. Jirka

Ahoj,

presna trefa. Zil jsem v domneni, ze Perform a PostMessage v tomto pripade
funguji
stejne, a ono ne. Takze PostMessage mi tu roletku opravdu roztahne.

Akorat se zas objevil jiny problem. Zda se mi, ze se prestal vyvolavat OnChange
na tom
combu, kdyz je v OwnerDraw rezimu. Mam combo a vedle nej checkbox, pri zmene v
combu ten checkbox zaskrtnu. No a po zmene stylu z csDropDown na
csOwnerDrawFixed se uz checkbox nezaskrtava. Pokud nekdo vite o pricine, prosim
o
info - ja jdu jinak rovnez badat.

David Lebeda